"""
题目：找出列表中的第二大元素。
"""

def find_second_max(lst):
    # 处理元素不足的情况
    if len(lst) < 2:
        return None
    # 初始化最大和第二大的值  表示负无穷大:float('-inf')，其中 inf 是 "infinity"（无穷大）的缩写
    max_val = second_max = float('-inf')
    for num in lst:
        # 如果当前数大于最大值
        if num > max_val:
            # 更新第二大值为原来的最大值
            second_max = max_val
            # 更新最大值
            max_val = num
        # 如果当前数小于最大值但大于第二大值
        elif num < max_val and num > second_max:
            # 更新第二大值
            second_max = num
        #最后一种情况：num小于第二大值,因为对变量没有影响，所以 无需任何操作

    return second_max


# 测试
print(find_second_max([3, 1, 4, 1, 5, 9]))  # 输出: 5
print(find_second_max([5, 5, 5]))  # 输出: -inf (因为没有严格小于最大值的元素)

a = float('-inf')
print(a)
print(10>a) #True
